package interfaz;

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;

import tablero.Tablero;

public abstract class TableroInterfaz extends Canvas{ 
	
	int tamTablero;
	int tamCasilla;
	int numCasilla;
   
	public TableroInterfaz(int n){
		numCasilla = n;
		tamCasilla = 600/numCasilla;
		tamTablero = numCasilla * tamCasilla;
	}
	
	public void paint (Graphics g){
		if (numCasilla!=0) {//Pintar los marcos lo hacemos poniendo el background del panel
			g.setColor(Color.black); // ponemos tablero en negro para pintar solo las blancas
			g.fillRect(45, 45, tamTablero+10, tamTablero+10); // tablero en negro
			g.setColor(Color.white); 
			pintarCasillasJugador(g,50,50,0); // pintamos las blancas
			pintarCasillasJugador(g,50+tamCasilla,50,1); // pintamos las blancas
//			g.setColor(Color.gray);
//			pintarCasillasJugador(g,50+tamCasilla,50,1); //pintamos las otras
			dibujarExtra(g);
							
		}
	}

	abstract void dibujarExtra(Graphics g);

	private void pintarCasillasJugador(Graphics g, int x, int y, int tipo) {
		int xx = x;
		for (int i=0;i<numCasilla;i++) { 
			if (i%2==0) pintarCasillasJugadorAux(g,x,y);
			else {
			   if (tipo == 0) x += tamCasilla; 
			   else x -= tamCasilla;
			   pintarCasillasJugadorAux(g,x,y);
			}   
			x = xx;	
			y=y+tamCasilla;
		}
	}

	private void pintarCasillasJugadorAux(Graphics g, int x, int y) {
		for (int j=0;j<numCasilla;j=j+2) {  
	   		g.fillRect(x, y, tamCasilla-1, tamCasilla-1);
	  		x=x+(2*tamCasilla);
		}
	}


}















